package dk.pun.dums.client;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

import dk.pun.dums.shared.character.CharacterData;
import dk.pun.dums.shared.user.LoginInfo;
import dk.pun.dums.shared.user.UserData;

@RemoteServiceRelativePath("DUMSService")
public interface DUMSService extends RemoteService {
	
	LoginInfo login(String requestURL);
	LoginInfo anonymousLogin();

	UserData getUserData(String userId);
	void updateUserData(UserData userData);
	void deleteUserData(String userId);
	
	List<CharacterData> findCharacterDataByUserKey(Long userKey);
	CharacterData createCharacterData(String name, Long userKey);
	CharacterData getCharacterData(Long characterKey);
	void updateCharacterData(CharacterData characterData);
	void deleteCharacterData(Long characterKey);
	
	String getMessage();
	void setMessage(String message);
}
